package com.order.www;

/**
 * Creared with IntelliJ IDEA.
 * Description:一只青蛙一次可以跳上1级台阶，也可以跳上2级。
 * 求该青蛙跳上一个 n 级的台阶总共有多少种跳法（先后次序不同算不同的结果）。
 * User:yxd
 * Date:2022-02-01
 * Time:22:32
 */
public class Dp2 {
    public static void main(String[] args) {
        int n = 40;
        System.out.println(jumpFloor(n));
    }
    public static int jumpFloor(int target) {
        /*if (target<=1) return 1;
        return jumpFloor(target - 1)+jumpFloor(target - 2);*/
        if (target<=1) return 1;
        int[] dp = new int[target + 1];
        dp[0] = 1;
        dp[1] = 1;
        dp[2] = 2;
        for(int i = 2;i <= target;i ++){
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[target];
    }
}
